Dynamic Choreographies: Theory And Implementation
نویسندگان
چکیده
Programming distributed applications free from communication deadlocks and race conditions is complex. Preserving these properties when applications are updated at runtime is even harder. We present a choreographic approach for programming updatable, distributed applications. We define a choreography language, called Dynamic Interaction-Oriented Choreography (DIOC), that allows the programmer to specify, from a global viewpoint, which parts of the application can be updated. At runtime, these parts may be replaced by new DIOC fragments from outside the application. DIOC programs are compiled, generating code for each participant in a process-level language called Dynamic Process-Oriented Choreographies (DPOC). We prove that DPOC distributed applications generated from DIOC specifications are deadlock free and race free and that these properties hold also after any runtime update. We instantiate the theoretical model above into a programming framework called Adaptable Interaction-Oriented Choreographies in Jolie (AIOCJ) that comprises an integrated development environment, a compiler from an extension of DIOCs to distributed Jolie programs, and a runtime environment to support their execution. 1998 ACM Subject Classification: •Theory of computation → Control primitives; Operational semantics; Program specifications; Program verification; •Software and its engineering → Distributed programming languages; Concurrent programming languages; Control structures; Frameworks; Formal language definitions;
منابع مشابه
Identifying the Factors Affecting the Implementation of the Dynamic School Plan: A Grounded Theory Study
Introduction: The school has always been the center of cultural and social developments in the society and has important effects on the scientific dynamics of the society. The current research was conducted with the aim of identifying the effective factors on the implementation of the dynamic school plan. Methods: The present qualitative research was conducted using the grounded theory method....
متن کاملAn Infrastructure for Sharing and Executing Choreographies
The main attractiveness of Web services is their capacity to provide interoperability among heterogeneous distributed systems. Increasingly, companies and organizations have adopted Web services as a way to interoperate with their business partners. In such a scenario, Web services choreography can be applied in the speci cation of interorganizational business processes. However, the dynamic na...
متن کاملA Local Logic for Realizability in Web Service Choreographies
Web service choreographies specify conditions on observable interactions among the services. An important question in this regard is realizability: given a choreography C, does there exist a set of service implementations I that conform to C ? Further, if C is realizable, is there an algorithm to construct implementations in I ? We propose a local temporal logic in which choreographies can be s...
متن کاملChoreographies and Behavioural Contracts on the Way to Dynamic Updates
We survey our work on choreographies and behavioural contracts in multiparty interactions. In particular theories of behavioural contracts are presented which enable reasoning about correct service composition (contract compliance) and service substitutability (contract refinement preorder) under different assumptions concerning service communication: synchronous address or name based communica...
متن کاملThe PiVizTool: Simulating Choreographies with Dynamic Binding
This paper presents a tool, the PiVizTool, for the interactive simulation of choreographies. Different participant instances can be added, deleted, and dynamically bound during the simulation. The PiVizTool uses the π-calculus as the formal foundation for representing dynamic binding. It provides an interactive graphical representation of complex choreographies that can be simulated according t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Logical Methods in Computer Science
دوره 13 شماره
صفحات -
تاریخ انتشار 2016